package com.xd.core.business.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.github.pagehelper.Page;
import com.xd.common.config.PageSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 *
 * </p>
 *
 * @author ZX
 * @since 2025-02-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class RepaymentScheduleAppVo implements Serializable {

    @JsonSerialize(using = PageSerializer.class)
    private Page<BillInfoVo> billInfoVoPages;

    @ApiModelProperty(value = "违约金")
    private BigDecimal currentRepaymentPenalty;

    @ApiModelProperty(value = "罚息")
    private BigDecimal defaultInterestTodo;

    @ApiModelProperty(value = "逾期利息")
    private BigDecimal overdueInterest;

    @ApiModelProperty(value = "应还本金")
    private BigDecimal shouldRepayPrincipal;

    @ApiModelProperty(value = "应还利息")
    private BigDecimal shouldRepayInterest;

    @ApiModelProperty(value = "应还利息+本金")
    private BigDecimal total;

    @ApiModelProperty(value = "订单状态  1:还款中 2:已结清 3:已逾期")
    private String statusRemark;

    @ApiModelProperty(value = "订单状态  1:还款中 2:已结清 3:已逾期")
    private String status;

    @ApiModelProperty(value = "债转状态  1:未转让 2:转让中 3:已转让")
    private String debtConversionStatusRemark;

    @ApiModelProperty(value = "债转状态  1:未转让 2:转让中 3:已转让")
    private Integer debtConversionStatus;

    @ApiModelProperty(value = "是否提前还款 0--否,1--是")
    private String isEarly;

    @ApiModelProperty("债权id")
    private Integer debtId;

    @ApiModelProperty(value = "放款id")
    private Integer outId;

    @ApiModelProperty("进件ID")
    private Integer incomingId;

}
